home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / Palettes.p < prev    next >
Text File  |  1996-05-01  |  7KB  |  223 lines

  1. {
  2.      File:        Palettes.p
  3.  
  4.      Contains:    Palette Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Palettes;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __PALETTES__}
  28. {$SETC __PALETTES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC PalettesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QUICKDRAW__}
  35. {$I Quickdraw.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __WINDOWS__}
  38. {$I Windows.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  46.  
  47. CONST
  48.     pmCourteous                    = 0;                            { Record use of color on each device touched. }
  49.     pmTolerant                    = $0002;                        { render ciRGB if ciTolerance is exceeded by best match. }
  50.     pmAnimated                    = $0004;                        { reserve an index on each device touched and render ciRGB. }
  51.     pmExplicit                    = $0008;                        { no reserve, no render, no record; stuff index into port. }
  52.     pmWhite                        = $0010;
  53.     pmBlack                        = $0020;
  54.     pmInhibitG2                    = $0100;
  55.     pmInhibitC2                    = $0200;
  56.     pmInhibitG4                    = $0400;
  57.     pmInhibitC4                    = $0800;
  58.     pmInhibitG8                    = $1000;
  59.     pmInhibitC8                    = $2000;                        {  NSetPalette Update Constants  }
  60.     pmNoUpdates                    = $8000;                        { no updates }
  61.     pmBkUpdates                    = $A000;                        { background updates only }
  62.     pmFgUpdates                    = $C000;                        { foreground updates only }
  63.     pmAllUpdates                = $E000;                        { all updates }
  64.  
  65.  
  66. TYPE
  67.     ColorInfoPtr = ^ColorInfo;
  68.     ColorInfo = RECORD
  69.         ciRGB:                    RGBColor;                                { true RGB values }
  70.         ciUsage:                INTEGER;                                { color usage }
  71.         ciTolerance:            INTEGER;                                { tolerance value }
  72.         ciDataFields:            ARRAY [0..2] OF INTEGER;                { private fields }
  73.     END;
  74.  
  75.     ColorInfoHandle                        = ^ColorInfoPtr;
  76.     PalettePtr = ^Palette;
  77.     Palette = RECORD
  78.         pmEntries:                INTEGER;                                { entries in pmTable }
  79.         pmDataFields:            ARRAY [0..6] OF INTEGER;                { private fields }
  80.         pmInfo:                    ARRAY [0..0] OF ColorInfo;
  81.     END;
  82.  
  83.     PaletteHandle                        = ^PalettePtr;
  84. PROCEDURE InitPalettes;
  85.     {$IFC NOT GENERATINGCFM}
  86.     INLINE $AA90;
  87.     {$ENDC}
  88. FUNCTION NewPalette(entries: INTEGER; srcColors: CTabHandle; srcUsage: INTEGER; srcTolerance: INTEGER): PaletteHandle;
  89.     {$IFC NOT GENERATINGCFM}
  90.     INLINE $AA91;
  91.     {$ENDC}
  92. FUNCTION GetNewPalette(PaletteID: INTEGER): PaletteHandle;
  93.     {$IFC NOT GENERATINGCFM}
  94.     INLINE $AA92;
  95.     {$ENDC}
  96. PROCEDURE DisposePalette(srcPalette: PaletteHandle);
  97.     {$IFC NOT GENERATINGCFM}
  98.     INLINE $AA93;
  99.     {$ENDC}
  100. PROCEDURE ActivatePalette(srcWindow: WindowPtr);
  101.     {$IFC NOT GENERATINGCFM}
  102.     INLINE $AA94;
  103.     {$ENDC}
  104. PROCEDURE SetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; cUpdates: BOOLEAN);
  105.     {$IFC NOT GENERATINGCFM}
  106.     INLINE $AA95;
  107.     {$ENDC}
  108. PROCEDURE NSetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; nCUpdates: INTEGER);
  109.     {$IFC NOT GENERATINGCFM}
  110.     INLINE $AA95;
  111.     {$ENDC}
  112. FUNCTION GetPalette(srcWindow: WindowPtr): PaletteHandle;
  113.     {$IFC NOT GENERATINGCFM}
  114.     INLINE $AA96;
  115.     {$ENDC}
  116. PROCEDURE CopyPalette(srcPalette: PaletteHandle; dstPalette: PaletteHandle; srcEntry: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  117.     {$IFC NOT GENERATINGCFM}
  118.     INLINE $AAA1;
  119.     {$ENDC}
  120. PROCEDURE PmForeColor(dstEntry: INTEGER);
  121.     {$IFC NOT GENERATINGCFM}
  122.     INLINE $AA97;
  123.     {$ENDC}
  124. PROCEDURE PmBackColor(dstEntry: INTEGER);
  125.     {$IFC NOT GENERATINGCFM}
  126.     INLINE $AA98;
  127.     {$ENDC}
  128. PROCEDURE AnimateEntry(dstWindow: WindowPtr; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  129.     {$IFC NOT GENERATINGCFM}
  130.     INLINE $AA99;
  131.     {$ENDC}
  132. PROCEDURE AnimatePalette(dstWindow: WindowPtr; srcCTab: CTabHandle; srcIndex: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  133.     {$IFC NOT GENERATINGCFM}
  134.     INLINE $AA9A;
  135.     {$ENDC}
  136. PROCEDURE GetEntryColor(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstRGB: RGBColor);
  137.     {$IFC NOT GENERATINGCFM}
  138.     INLINE $AA9B;
  139.     {$ENDC}
  140. PROCEDURE SetEntryColor(dstPalette: PaletteHandle; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  141.     {$IFC NOT GENERATINGCFM}
  142.     INLINE $AA9C;
  143.     {$ENDC}
  144. PROCEDURE GetEntryUsage(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstUsage: INTEGER; VAR dstTolerance: INTEGER);
  145.     {$IFC NOT GENERATINGCFM}
  146.     INLINE $AA9D;
  147.     {$ENDC}
  148. PROCEDURE SetEntryUsage(dstPalette: PaletteHandle; dstEntry: INTEGER; srcUsage: INTEGER; srcTolerance: INTEGER);
  149.     {$IFC NOT GENERATINGCFM}
  150.     INLINE $AA9E;
  151.     {$ENDC}
  152. PROCEDURE CTab2Palette(srcCTab: CTabHandle; dstPalette: PaletteHandle; srcUsage: INTEGER; srcTolerance: INTEGER);
  153.     {$IFC NOT GENERATINGCFM}
  154.     INLINE $AA9F;
  155.     {$ENDC}
  156. PROCEDURE Palette2CTab(srcPalette: PaletteHandle; dstCTab: CTabHandle);
  157.     {$IFC NOT GENERATINGCFM}
  158.     INLINE $AAA0;
  159.     {$ENDC}
  160. FUNCTION Entry2Index(entry: INTEGER): LONGINT;
  161.     {$IFC NOT GENERATINGCFM}
  162.     INLINE $7000, $AAA2;
  163.     {$ENDC}
  164. PROCEDURE RestoreDeviceClut(gd: GDHandle);
  165.     {$IFC NOT GENERATINGCFM}
  166.     INLINE $7002, $AAA2;
  167.     {$ENDC}
  168. PROCEDURE ResizePalette(p: PaletteHandle; size: INTEGER);
  169.     {$IFC NOT GENERATINGCFM}
  170.     INLINE $7003, $AAA2;
  171.     {$ENDC}
  172. PROCEDURE SaveFore(VAR c: ColorSpec);
  173.     {$IFC NOT GENERATINGCFM}
  174.     INLINE $303C, $040D, $AAA2;
  175.     {$ENDC}
  176. PROCEDURE SaveBack(VAR c: ColorSpec);
  177.     {$IFC NOT GENERATINGCFM}
  178.     INLINE $303C, $040E, $AAA2;
  179.     {$ENDC}
  180. PROCEDURE RestoreFore({CONST}VAR c: ColorSpec);
  181.     {$IFC NOT GENERATINGCFM}
  182.     INLINE $303C, $040F, $AAA2;
  183.     {$ENDC}
  184. PROCEDURE RestoreBack({CONST}VAR c: ColorSpec);
  185.     {$IFC NOT GENERATINGCFM}
  186.     INLINE $303C, $0410, $AAA2;
  187.     {$ENDC}
  188. FUNCTION SetDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): OSErr;
  189.     {$IFC NOT GENERATINGCFM}
  190.     INLINE $303C, $0A13, $AAA2;
  191.     {$ENDC}
  192. FUNCTION HasDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): INTEGER;
  193.     {$IFC NOT GENERATINGCFM}
  194.     INLINE $303C, $0A14, $AAA2;
  195.     {$ENDC}
  196. FUNCTION PMgrVersion: INTEGER;
  197.     {$IFC NOT GENERATINGCFM}
  198.     INLINE $7015, $AAA2;
  199.     {$ENDC}
  200. PROCEDURE SetPaletteUpdates(p: PaletteHandle; updates: INTEGER);
  201.     {$IFC NOT GENERATINGCFM}
  202.     INLINE $303C, $0616, $AAA2;
  203.     {$ENDC}
  204. FUNCTION GetPaletteUpdates(p: PaletteHandle): INTEGER;
  205.     {$IFC NOT GENERATINGCFM}
  206.     INLINE $303C, $0417, $AAA2;
  207.     {$ENDC}
  208. FUNCTION GetGray(device: GDHandle; {CONST}VAR backGround: RGBColor; VAR foreGround: RGBColor): BOOLEAN;
  209.     {$IFC NOT GENERATINGCFM}
  210.     INLINE $303C, $0C19, $AAA2;
  211.     {$ENDC}
  212. {$ENDC}
  213. {$ALIGN RESET}
  214. {$POP}
  215.  
  216. {$SETC UsingIncludes := PalettesIncludes}
  217.  
  218. {$ENDC} {__PALETTES__}
  219.  
  220. {$IFC NOT UsingIncludes}
  221.  END.
  222. {$ENDC}
  223.